lexer grammar AnnotationLanguageLexer;

WS	:	[\t\r\n ]+ -> skip;
OPEN:	'{' -> pushMode(INSIDE);
START:	'<';
END	:	'>';
ANNO:	'|';
Text:	~[{|<>]+;

mode INSIDE;
CLOSE:	'}' -> popMode;
ONTOLOGYMARK:	'@';
PROPERTYMARK:	'#';
IDENTIFIERMARK:	'$';
TARGETSOPEN:	'[';
TARGETSCLOSE:	']';
TARGETSSPLIT:	';';
DOT	:	'.';
Characters:	Legel_Character+;
fragment Chinese_Character:	[\u4E00-\u9FFF];
fragment Digit:	[0-9];
fragment ELLIPSIS: '...';
fragment Legel_Character
	:	Chinese_Character
	|	Digit
	|	[a-zA-Z]
	|	'_'
	|	'、'
	|	','
	|	'，'
	|	ELLIPSIS
	;